/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						 teleport_ability.h

	$Header: /heroes4/teleport_ability.h $

	$NoKeywords: $

 ************************************************************************/

#if !defined( TELEPORT_ABILITY_H_INCLUDED )
#define TELEPORT_ABILITY_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "combat_creature_handler.h"
#include "counted_animation.h"
#include "counted_idle_processor.h"
#include "map_point.h"
#include "sized_int_types.h"

// -----------------------------------------------------------------
// display a teleport movement
// -----------------------------------------------------------------
class t_teleport_ability : public t_counted_idle_processor, public t_counted_animation
{
public:
	t_teleport_ability( t_combat_creature& creature, t_map_point_3d const& destination,
					    t_combat_creature_handler    end_handler );

	virtual void on_idle();
protected:
	t_combat_creature&		  m_creature;
	t_map_point_3d			  m_destination;
	t_combat_creature_handler m_end_handler;
};

typedef t_counted_ptr< t_teleport_ability > t_teleport_ability_ptr;
		  
#endif // TELEPORT_ABILITY_H_INCLUDED